home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1997 #1
/
Amiga Plus CD - 1997 - No. 01.iso
/
pd
/
daten
/
mui-rechnung
/
texwork
/
dviprint.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1986-10-03
|
2KB
|
105 lines
/*
** $VER: DVIprint.rexx 1.0 (02.01.1996)
**
** ©1996 Stefan Scherer
**
** ruft den DVI-Printer über ARexx auf.
** Achtung: Pfad ist nur aktuelles Verzeichnis und "C:"!!
**
** Hilfreich z.B. für AmiTCP zum Drucken auf Netzwerkdruckern. Durch
** Setzen der Environmentvariable PRINTREMOTE wird mit lpr gedruckt.
**
** Parameter: 1 HOFFSET=%ldtruemm
** 2 VOFFSET=%ldtruemm
** 3 FROM
** 4 1
** 5 TO
** 6 1000
** 7 PRINTER
** 8 %s (Druckername)
** 9 LAND 9 UNI
** 10 UNI 10 off
** 11 off 11 NOLOG
** 12 NOLOG 12 %s.dvi
** 13 %s.dvi
*/
OPTIONS RESULTS
REMOTE = Word(MyGetEnv("PRINTREMOTE"),1)
If "" = REMOTE Then
REMOTE = "0"
Endif
/* lies die Parameter, die normalerweise ShowDVI direkt bekommen würde */
PARSE ARG Parameters
Dummy = WORD(Parameters,9)
IF Dummy = "LAND" THEN
DO
File = WORD(Parameters, 13)
END
ELSE
DO
File = WORD(Parameters, 12)
END
Dir = PRAGMA("DIRECTORY")
If Right(Dir,1)~=':' & Right(Dir,1)~='/' THEN
Dir = Dir||'/'
say "Starte DVIprint..."
Address COMMAND
If "0" = REMOTE Then
DO
/* normalerweise nur DVIprint starten */
'TeX:bin/dviprint '||Parameters
END
ELSE
DO
/* convert to PostScript */
'TeX:bin/dvips '||File
/* print it on network printer */
PSFile = Left(File,Length(File)-4)||'.ps'
'amitcp:bin/lpr -Plp '||PSFile
END
Exit
MyGetEnv: PROCEDURE
/*
** when will ARexx supply GetEnv/SetEnv ?
*/
Parse Arg NAME
If Open(TEMPFILE,"ENV:"||NAME,'r') Then Do
GIVES = Readln(TEMPFILE)
Call Close TEMPFILE
End; Else
GIVES = ""
Return GIVES
MySetEnv: PROCEDURE
Parse Arg NAME,CONTENT
Address COMMAND "SetEnv" NAME CONTENT
Return